ProviderToolFactoryOptions

data class ProviderToolFactoryOptions<TInput, TOutput, TContext>(val outputSerializer: KSerializer<TOutput>, val outputSchema: Schema<TOutput>? = null, val args: Map<String, JsonElement> = emptyMap(), val name: String? = null, val description: String? = null, val metadata: Map<String, JsonElement> = emptyMap(), val execute: suspend ToolExecutionContext<TContext>.(TInput) -> TOutput? = null, val needsApproval: suspend (input: TInput, options: ToolPredicateOptions<TContext>) -> Boolean? = null, val toModelOutput: (TOutput, ToolPredicateOptions<TContext>) -> ToolResultOutput? = null, val onInputStart: suspend (streamingId: String) -> Unit? = null, val onInputDelta: suspend (streamingId: String, delta: String) -> Unit? = null, val onInputAvailable: suspend (toolCallId: String, input: TInput) -> Unit? = null)

Constructors

Link copied to clipboard
constructor(outputSerializer: KSerializer<TOutput>, outputSchema: Schema<TOutput>? = null, args: Map<String, JsonElement> = emptyMap(), name: String? = null, description: String? = null, metadata: Map<String, JsonElement> = emptyMap(), execute: suspend ToolExecutionContext<TContext>.(TInput) -> TOutput? = null, needsApproval: suspend (input: TInput, options: ToolPredicateOptions<TContext>) -> Boolean? = null, toModelOutput: (TOutput, ToolPredicateOptions<TContext>) -> ToolResultOutput? = null, onInputStart: suspend (streamingId: String) -> Unit? = null, onInputDelta: suspend (streamingId: String, delta: String) -> Unit? = null, onInputAvailable: suspend (toolCallId: String, input: TInput) -> Unit? = null)

Properties

Link copied to clipboard
val args: Map<String, JsonElement>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val metadata: Map<String, JsonElement>
Link copied to clipboard
val name: String?
Link copied to clipboard
val needsApproval: suspend (input: TInput, options: ToolPredicateOptions<TContext>) -> Boolean?
Link copied to clipboard
val onInputAvailable: suspend (toolCallId: String, input: TInput) -> Unit?
Link copied to clipboard
val onInputDelta: suspend (streamingId: String, delta: String) -> Unit?
Link copied to clipboard
val onInputStart: suspend (streamingId: String) -> Unit?
Link copied to clipboard
Link copied to clipboard
val outputSerializer: KSerializer<TOutput>